package com.zb;

import com.zb.repository.SkuRepository;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ConfigurableApplicationContext;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class SearchApplication {
    public static void main(String[] args) throws Exception {

        ConfigurableApplicationContext run = SpringApplication.run(SearchApplication.class, args);
//        SkuRepository skuRepository = run.getBean(SkuRepository.class);
//
//        Map<String, String> param = new HashMap<>();
//        param.put("keyword", "手机");
//        param.put("index", "1");
//        param.put("size", "50");
//        param.put("brand", "小米");
//        param.put("cate", "手机");
//
////        param.put("spec_颜色","黑色");
////        param.put("spec_版本","6GB+64GB");
//
//        param.put("price", "10000-20000");
////        param.put("price","20000-*");
////        param.put("price","*-20000");
//
//        param.put("sortField", "price");
//        param.put("sortRule", "asc");
//

//        // 调用skuRepository的search方法，传入参数param，返回一个包含搜索结果的Map
//        Map<String, Object> search = skuRepository.search(param);
//
//        // 从搜索结果中获取总命中数，并将其转换为字符串
//        String count = search.get("totalHits").toString();
//        // 打印总命中数
//        System.out.println(count);
//        // 打印分隔线
//        System.out.println("--------------------------");
//
//        // 从搜索结果中获取品牌列表
//        List<String> brandList = (List<String>) search.get("brandList");
//        // 遍历品牌列表并打印每个品牌
//        for (String s : brandList) {
//            System.out.println(s);
//        }
//        // 打印分隔线
//        System.out.println("--------------------------");
//
//        // 从搜索结果中获取分类列表
//        List<String> cateList = (List<String>) search.get("cateList");
//        // 遍历分类列表并打印每个分类
//        for (String s : cateList) {
//            System.out.println(s);
//        }
//        // 打印分隔线
//        System.out.println("--------------------------");
//
//        // 从搜索结果中获取规格映射
//        Map<String, Set<String>> specMap = (Map<String, Set<String>>) search.get("specMap");
//        // 遍历规格映射并打印每个键值对
//        for (Map.Entry<String, Set<String>> entry : specMap.entrySet()) {
//            System.out.println(entry.getKey() + "\t" + entry.getValue());
//        }
//        // 打印分隔线
//        System.out.println("--------------------------");
//
//        // 从搜索结果中获取sku列表
//        List<Map<String, Object>> skuList =
//                (List<Map<String, Object>>) search.get("skuList");
//        // 遍历sku列表并打印每个sku的详细信息
//        for (Map<String, Object> map : skuList) {
//            System.out.println(map);
//        }

//        skuRepository.createIndex();
//        skuRepository.importData();
    }
}
